//
//  BaseModel.m
//  UI_豆瓣
//
//  Created by 石美妮 on 15/12/24.
//  Copyright © 2015年 www.lanou3g.com蓝鸥科技. All rights reserved.
//

#import "BaseModel.h"

@implementation BaseModel

#pragma mark - 初始化
- (instancetype)initWithDic:(NSDictionary *)dic
{
    self = [super init];
    if (self) {
        [self setValuesForKeysWithDictionary:dic];
    }
    return self;
}

#pragma mark - 遍历构造器
+(instancetype)modelWithDic:(NSDictionary *)dic
{
    // [self class] 表示当前类
    // 同样的方法在不同的类中产生不同的结果, 称之为多态
    id m = [[[self class] alloc] initWithDic:dic];
    return m;
}

#pragma mark - 数组+字典->数组+对象
+ (NSMutableArray *)modelHandlerWithArray:(NSArray *)arr
{
    // 1.创建空数组,保存处理后的 Model 对象
    NSMutableArray *mArr = [NSMutableArray array];
    // 2.遍历传入的数组参数 得到每个字典对象
    for (NSDictionary *dic in arr) {
        // 3.使用 KVC 转化为对象
       id m =  [[self class ] modelWithDic:dic];
        // 4.添加到数组
        [mArr addObject:m];
    }
    return mArr;
}

#pragma mark - 容错
// 将不需要的数据过滤掉
- (void)setValue:(id)value forUndefinedKey:(NSString *)key
{
    
}

@end
